// pages/consequence/consequence.js
import Wxml2Canvas from 'wxml2canvas';

Page({

  /**
   * 页面的初始数据
   */
  data: {
    show: false,
    textcolum: ['体验好', '不错', '操作简单', '很迅速', '操作复杂', '量体很准确', '量体不标准', '真方便', '体验不好', '其他', ],
    showfild: false,
    message: '',
    imgs: [],
    showdiglog: true,
    list: {}
  },
  //获取量体数据
  getlist() {
    wx.showLoading({
      title: '计算中...',
    })
    var that = this
    wx.request({
      url: 'https://ai-volume.progengroup.com/api/predict',
      method: 'POST',
      header: {
        "Content-Type": "application/json"
      },
      data: that.data.item,
      success(res) {
        wx.hideLoading()
        console.log(res, '获取量体数据')
        if (res.data.code == 500) {
          wx.showModal({
            title: '提示',
            content: '运算量太大报错啦，是否重新发起请求？',
            success(res) {
              if (res.confirm) {
                that.getlist()
              } else if (res.cancel) {
                console.log('用户点击取消')
              }
            }
          })
          return
        }
        var title = JSON.parse(res.data.data.auxResult)
        var list = JSON.parse(res.data.data.result)
        // var list = res.data.result
        console.log(title, '体态')
        console.log(list, '数据')
        that.setData({
          title: Object.entries(title).reduce((acc, [key, value]) => {
            acc[key] = value;
            return acc;
          }, {}),
          list: Object.entries(list).reduce((acc, [key, value]) => {
            acc[key] = value;
            return acc;
          }, {}),
          id: res.data.data.id
        })
      },
      fail(res) {

      }
    })
  },
  chaice(e) {
    console.log(e)
    var index = e.currentTarget.dataset.index
    var message = ''
    index == 9 ? message = '' : message = this.data.textcolum[index],
      this.setData({
        type: index,
        showfild: index == 9 ? true : false,
        message: message
      })
  },
  totakephoto() {
    console.log(111)
    this.setData({
      show: true,
      showdiglog: true
    })
  },
  onClickHide() {
    this.setData({
      show: false
    })
  },
  smit() {
    if (!this.data.score) {
      wx.showToast({
        title: '请先打分!',
        icon: 'error',
        duration: 1500
      })
      return
    }
    var data = {
      feedback: this.data.message,
      id: this.data.id,
      score: this.data.score
    }
    var that = this
    console.log(data)
    wx.request({
      url: 'https://ai-volume.progengroup.com/api/predict/feedbanck',
      method: 'POST',
      header: {
        "Content-Type": "application/json"
      },
      data: data,
      success(res) {
        console.log(res, '反馈结果')
        if (res.data.msg === "success") {
          wx.showToast({
            title: '提交成功',
          })
          that.drawImage1()
          that.setData({
            showdiglog: false
          })
        }
      }
    })
  },
  onChange(event) {
    console.log(event)
    this.setData({
      score: event.detail * 2
    })
  },
  //保存图片到本地
  drawImage1() {
    let self = this;
    this.drawImage1 = new Wxml2Canvas({
      width: wx.getSystemInfoSync().windowWidth * 2, // 宽， 以iphone6为基准，传具体数值，其他机型自动适配
      height: wx.getSystemInfoSync().windowHeight * 2 - 100, // 高
      element: 'canvas1',
      background: '#ffffff',
      progress(percent) {},
      finish(url) {
        // let imgs = self.data.imgs;
        // imgs.push(url);
        console.log(url)
        self.setData({
          imgs: url
        })

      },
      error(res) {}
    });

    let data = {
      list: [{
        type: 'wxml',
        class: '.font36', // draw_canvas指定待绘制的元素
        limit: '.font36', // 限定绘制元素的范围，取指定元素与它的相对位置
        x: 0,
        y: 0
      }, {
        type: 'wxml',
        class: '.font24 .gray', // draw_canvas指定待绘制的元素
        limit: ' .gray', // 限定绘制元素的范围，取指定元素与它的相对位置
        x: 16,
        y: 50
      }, , {
        type: 'wxml',
        class: '.font24 .blcak', // draw_canvas指定待绘制的元素
        limit: ' .gray', // 限定绘制元素的范围，取指定元素与它的相对位置
        x: 16,
        y: 50
      }, {
        type: 'wxml',
        class: '.imagesicon', // draw_canvas指定待绘制的元素
        limit: ' .flexcenter', // 限定绘制元素的范围，取指定元素与它的相对位置
        x: 0,
        y: 60
      }, {
        type: 'wxml',
        class: '.type-text', // draw_canvas指定待绘制的元素
        limit: ' .flexcenter', // 限定绘制元素的范围，取指定元素与它的相对位置
        x: 0,
        y: 60
      }, {
        type: 'wxml',
        class: '.size-title', // draw_canvas指定待绘制的元素
        limit: ' .flexcenter', // 限定绘制元素的范围，取指定元素与它的相对位置
        x: 0,
        y: 80
      }, {
        type: 'wxml',
        class: '.font20text .gray', // draw_canvas指定待绘制的元素
        limit: ' .flexcenter', // 限定绘制元素的范围，取指定元素与它的相对位置
        x: 0,
        y: 80
      }, {
        type: 'wxml',
        class: '.font20text .blcak', // draw_canvas指定待绘制的元素
        limit: ' .flexcenter', // 限定绘制元素的范围，取指定元素与它的相对位置
        x: 0,
        y: 80
      }]
    }
    this.drawImage1.draw(data);
  },
  //保存照片
  salfephtot() {
    var that = this
    wx.saveImageToPhotosAlbum({
      filePath: that.data.imgs,
      success: function (res) {
        wx.showToast({
          title: '图片已保存到相册',
          icon: 'success',
          duration: 2000
        });
        wx.redirectTo({
          url: '/pages/takephoto/takephoto',
        })
      },
      fail: function (err) {
        console.error(err);
        if (err.errMsg === "saveImageToPhotosAlbum:fail:auth denied") {
          wx.showModal({
            title: '提示',
            content: '需要您的授权才能保存图片到相册',
            showCancel: false,
            confirmText: '去授权',
            confirmColor: '#5280F7',
            success: () => {
              wx.openSetting({
                withSubscriptions: true,
              });
            },
          });
        }
      },
    });
  },
  todeit(e) {
    console.log(e)
    wx.setStorageSync('listnumber', this.data.list)
    wx.setStorageSync('updatalist', '')
    wx.navigateTo({
      url: '/pages/edit/edit?type=' + e.currentTarget.dataset.type,
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    var item = JSON.parse(wx.getStorageSync('volumeJson'))
    var title = JSON.parse(item.auxResult)
    var list = JSON.parse(item.result)
    var id = item.id
    this.setData({
      title,
      list,
      id
    })
    console.log(JSON.parse(wx.getStorageSync('volumeJson')))
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    console.log(123)
    var updatalist = wx.getStorageSync('updatalist')
    if (updatalist) {
      var type = updatalist.type
      var list = this.data.list
      switch (type) {
        case 1:
          list['领围'] = updatalist.lw
          list['肩宽'] = updatalist.jk
          list['净胸围'] = updatalist.xw
          list['腰围'] = updatalist.yw
          list['袖长'] = updatalist.xc
          list['衣长'] = updatalist.yc
          this.setData({
            list: list
          })
          break;
        case 2:
          list['净臀围'] = updatalist.bw
          list['裤长'] = updatalist.kc
          list['裆长'] = updatalist.dc
          list['大腿围'] = updatalist.dtw
          list['小腿围'] = updatalist.xtw
          this.setData({
            list: list
          })
          break;
        case 3:
          list['西装衣长'] = updatalist.xfyc
          list['西装胸围'] = updatalist.xfxw
          list['西装肩宽'] = updatalist.xfjk
          list['西装袖长'] = updatalist.xfxc
          this.setData({
            list: list
          })
          break;
        case 4:
          list['西裤长'] = updatalist.xkc
          list['西裤腰围'] = updatalist.xkyw
          list['西裤臀围'] = updatalist.xktw
          this.setData({
            list: list
          })
          break;
        case 5:
          list['衬衣'] = updatalist.cy
          this.setData({
            list: list
          })
          break;
        default:
          break;
      }
    }
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})